Cs792 Notes Logical Relations
نویسنده
چکیده
4. R(ConstA(c), ConstB(c)) for every typed constant c : σ of Σ. For λ we drop the rule for × and for extensions of λ there is another rule for each type form. The essential property for λ is that two functions are related iff they take related arguments to related results. The intuition is that a logical relation, relates the meaning of a term in one model to its meaning in another model. The conditions are to assure that the meanings are consistent under introduction and elimination, of × and → in this case. Logical relations can be generalized to be n-ary rather than binary. The unary case is called a logical predicate. Taking the obvious definition for logical predicates, it can be seen that a binary logical relation R ⊆ A× B is nothing more than a logical predicate over the applicative structure A× B.
منابع مشابه
CS792 Notes Soundness and the Interpretation of Terms with Closed Cartesian Categories
These notes are taken from [1] chapters 7.1 and 7.2.
متن کاملNotes on Sconing and Relators
This paper describes a semantics of typed lambda calculi based on relations. The main mathematical tool is a category-theoretic method of sconing, also called glueing or Freyd covers. Its correspondence to logical relations is also examined.
متن کاملLogical Relations and Parametricity - A Reynolds Programme for Category Theory and Programming Languages
In his seminal paper on “Types, Abstraction and Parametric Polymorphism,” John Reynolds called for homomorphisms to be generalized from functions to relations. He reasoned that such a generalization would allow type-based “abstraction” (representation independence, information hiding, naturality or parametricity) to be captured in a mathematical theory, while accounting for higher-order types. ...
متن کاملSyntactic Logical Relations for Polymorphic and Recursive Types
The method of logical relations assigns a relational interpretation to types that expresses operational invariants satisfied by all terms of a type. The method is widely used in the study of typed languages, for example to establish contextual equivalences of terms. The chief difficulty in using logical relations is to establish the existence of a suitable relational interpretation. We extend w...
متن کاملExtracting Program Logics From Abstract Interpretations Defined by Logical Relations
interpretation: computing on properties readInt(x) if x>0 : x:= pred(x) x:= succ(x) writeInt(x) Q: Is output pos? A: abstractly interpret domain Int by Sign = {neg , zero, pos , any }: readSign(x) if isPos(x): x:= pred(x) x:= succ(x) writeSign(x) where succ(pos) = pos succ(zero) = pos succ(neg) = any succ(any) = any and pred(neg) = neg pred(zero) = neg pred(pos) = any pred(any) = any Calculate ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005